﻿<?php


// no direct access
defined('_JEXEC') or die('Restricted access');

jimport('joomla.application.component.model');
require_once JPATH_COMPONENT.DS.'helpers'.DS.'functions.check.php';
require_once JPATH_ADMINISTRATOR.DS.'components'.DS.'com_eventcalendar'.DS.'helpers'.DS.'database.php';

class TableTapahtuma extends JTable
{
   
     var $id = null;

  //var $tapahtuma_luokka_id = null;
    var $alkuaika;	
    var $loppuaika= null;
    var $nimi = null;
 // var $kuva= null;
    var $kuvaus= null;
  //var $toistuminen= null;
    var $tila= null;
    var $paikka_teksti= null;
    var $position_id= null;
    var $yhteyshenkilo_nimi= null;
    var $yhteyshenkilo_puhelin= null;
    var $yhteyshenkilo_sposti= null;
 //  var $promo= null;
     var $kotikalenteri_id= null;
 //  var $liitetiedosto= null;
 
    function __construct( &$db ) {
        parent::__construct("#__tapahtuma", 'id', $db);
    }
}



class EventcalendarModelMonth extends JModel {
    /**
	 * Constructor
	 */
	function __construct() {
		parent::__construct();
		$this->alustaDb();
    }
	
		/* Haetaan tapahtumat */
	var $_eventData;
	
	function alustaDb()
	{
		$joku = new DatabaseHelper();
		$option = $joku->get('option');
		
		$db = & JDatabase::getInstance( $option );
		$this->setDBO($db);
		
	}
	
	function getEvents()
	{
		if(empty($this->_eventData)) 
		{
			
			$add = "";
			$start = JRequest::getVar('start','');
			$end = JRequest::getVar('end','');
			
			//Jos haetaan pvm-välistä (fullcalendar)
			if($start != '' && $end != '')
			{
				/*
				* UNIX-timestampista
				* Muoto timestampissa: start=1290895200
				* Muoto sqlssa: 2010-11-18
				*/
				
				// Otetaan alku- ja loppu-pvm
				$start = intval($start);
				$end = intval($end);
				//Convert unix-timestamp -> sql-suitable
				$date = new DateTime("@$start");
				$alku = $date->format('Y-m-d');
				$date = new DateTime("@$end");
				$loppu = $date->format('Y-m-d');
				$add = "WHERE ".getGlobalDbPrefix()."tapahtuma.alkuaika >= '$alku' AND ".getGlobalDbPrefix()."tapahtuma.alkuaika < '$loppu'";
			}
			
			//Haetaan valittu kalenteri_id-parametri
			$kalenteri = getCurrentCalendar();
				
			
			//Haetaan tapahtumat valitusta kalenterista
			$query = "SELECT * FROM ".getGlobalDbPrefix()."tapahtuma
			JOIN ".getGlobalDbPrefix()."kalenteri_has_tapahtuma
			ON ".getGlobalDbPrefix()."tapahtuma.id = ".getGlobalDbPrefix()."kalenteri_has_tapahtuma.tapahtuma_id
			AND ".getGlobalDbPrefix()."kalenteri_has_tapahtuma.kalenteri_id = $kalenteri 
			AND ".getGlobalDbPrefix()."kalenteri_has_tapahtuma.ehdotettu = 0
			AND ".getGlobalDbPrefix()."kalenteri_has_tapahtuma.tila = 1 $add";

    		$this->_eventData = $this->_getList($query);
			return $this->_eventData;
    	}
	
	}
	

	
}
?>